# -*- coding: utf-8 -*-
"""
Author:duan
Date: 2021/2/27 15:14
"""

# 生产者消费者模式
# 消费者
import pika

credentials = pika.PlainCredentials('guest', 'guest')
# rabbitmq队列账号密码
connection = pika.BlockingConnection(pika.ConnectionParameters(host='127.0.0.1', credentials=credentials))
# 连接配置：主要包括host、port（默认5672）、credentials（登录用户名密码）
channel = connection.channel()
# 创建一个连接通道
channel.queue_declare(queue='aaa')


# 声明一个名为aaa的队列
def callback(ch, method, properties, body):
    print("Received msg: {}".format(body))


channel.basic_consume('aaa', callback, auto_ack=True)
# 从aaa队列中取出一条消息，并执行对应回调，第三个参数代表取到消息后自动回复执行完成，生产者会将该任务消息删除
# 在旧版里传参顺序和参数名可能有所不同（旧版里是：callback, queue='aaa', no_ack=True）
print('start...')
channel.start_consuming()
# 开启循环监听消息队列
